IB/FB - jde nejak udelat ENUM()?

Otázka od: Ing. Jiri SOKOL

26. 9. 2002 11:30

Ahoj,
v databazi, jejich tabulkach bych chtel mit sloupce, ktere by mely mit hodnoty
vymezene vyctem.
U jinych databazi to jde pomoci ENUM(vycet).
Jde neco podobneho i u FB/IB? Jak?
Jestli ne, jak to resite?

Diky Jirka


Ing. Jiri Sokol, js-delphi@seznam.cz, +420251431187
D6ProfSP2,WinNT
amatersky programator

______________________________________________________________________
Reklama:
Nenechte si ujit novy film Woodyho Allena "Hollywood Ending" - blaznivou
komedii o tom, jak se ve tme strefit do cerneho. V konech od 3.9.2002.
Sledujte http://www.hce.cz

Odpovedá: Pavel Cisar

26. 9. 2002 18:30

Haj hou!

On 26 Sep 2002 at 11:05, Ing. Jiri SOKOL wrote:

> v databazi, jejich tabulkach bych chtel mit sloupce, ktere by mely mit
hodnoty
> vymezene vyctem.
> U jinych databazi to jde pomoci ENUM(vycet).
> Jde neco podobneho i u FB/IB? Jak?
> Jestli ne, jak to resite?

Enum primo ne, ale vyctovy typ se da simulovat domenou (nejlepe, jde to
ale i primo na polozce v tabulce) s kontrolou CHECK a frazi IN. Pokud
budes souhlasit ze typ boolean je take vycet, tak tady je priklad
implementace v IB/FB:

create domain boolean
  as char(1)
  default 'N'
  check(VALUE IN ('A','N')) ;

Definice vyctu muze byt samozrejme slozitejsi, mit formu negace apod.
Range se da delat pomoci BETWEEN. Staci zalistovat v dokumentaci k
prikazu CREATE DOMAIN.

Hodne zdaru
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase

Odpovedá: Jan Sebelík

27. 9. 2002 12:21

> Odesílatel: Ing. Jiri SOKOL <JS-delphi@seznam.cz>
> v databazi, jejich tabulkach bych chtel mit sloupce, ktere by mely mit
hodnoty
> vymezene vyctem.
> U jinych databazi to jde pomoci ENUM(vycet).
> Jde neco podobneho i u FB/IB? Jak?

Nejlepe
(jde to i u definice jednotliveho pole, ale domena je lepsi)

create domain dph decimal(8,2) check (value in (0, 0.05, 0.22));

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================